package com.panasonic.cn.cmsc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMM2001{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_M2001(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT SLCP_CD,");
		sql.append("CHRG_TYP,");
		sql.append("VDR_CD,");
		sql.append("ITM_CAT_MID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("CHRG_CD,");
		sql.append("TRSP_MTHD,");
		sql.append("DVSN_CD,");
		sql.append("ROUT_CD,");
		sql.append("FM_TYP FROM M20 ");
		sql.append("WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+" ");
		sql.append("AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append("AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP").equals(""))?" is null ":"=")+getString("FM_TYP")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public int DELETE_M2002(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	DELETE M20 ");
		sql.append("WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+" ");
		sql.append("AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+" ");
		sql.append("AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+" ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public SelectResultRset SELECT_M2003(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT VDR_CD  ");
		sql.append("FROM M01 ");
		sql.append("WHERE VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP1").equals(""))?" is not null ":"!=")+getString("FM_TYP1")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP2").equals(""))?" is not null ":"!=")+getString("FM_TYP2")+" ");
		sql.append("AND APL_BDT <"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+" ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M2004(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT CHRG_CD ");
		sql.append("FROM M19 ");
		sql.append("WHERE CHRG_CD "+((getString("CHRG_CD").equals(""))?" is null ":"=")+getString("CHRG_CD")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP1").equals(""))?" is not null ":"!=")+getString("FM_TYP1")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP2").equals(""))?" is not null ":"!=")+getString("FM_TYP2")+" ");
		sql.append("AND APL_BDT <"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+" ");
		sql.append("AND SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public int INSERT_M2005(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	INSERT INTO ");
		sql.append("M20(");
		sql.append("SLCP_CD,");
		sql.append("CHRG_TYP,");
		sql.append("VDR_CD,");
		sql.append("ITM_CAT_MID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("CHRG_CD,");
		sql.append("TRSP_MTHD,");
		sql.append("DVSN_CD,");
		sql.append("ROUT_CD,");
		sql.append("FM_TYP,");
		sql.append("RGS_DTTM,");
		sql.append("RGS_CHRG_CD,");
		sql.append("RGS_PGID,");
		sql.append("UPD_DTTM,");
		sql.append("UPD_CHRG_CD,");
		sql.append("UPD_PGID");
		sql.append(")");
		sql.append("VALUES");
		sql.append("(");
		sql.append(""+getString("SLCP_CD")+",");
		sql.append(""+getString("CHRG_TYP")+",");
		sql.append(""+getString("VDR_CD")+",");
		sql.append(""+getString("ITM_CAT_MID")+",");
		sql.append(""+getString("APL_BDT")+",");
		sql.append(""+getString("APL_EDT")+",");
		sql.append(""+getString("CHRG_CD")+",");
		sql.append(""+getString("TRSP_MTHD")+",");
		sql.append(""+getString("DVSN_CD")+",");
		sql.append(""+getString("ROUT_CD")+",");
		sql.append(""+getString("FM_TYP")+",");
		sql.append("TO_DATE("+getString("RGS_DTTM")+",'YYYYMMDDHH24MISS'),");
		sql.append(""+getString("RGS_CHRG_CD")+",");
		sql.append(""+getString("RGS_PGID")+",");
		sql.append("TO_DATE("+getString("UPD_DTTM")+",'YYYYMMDDHH24MISS'),");
		sql.append(""+getString("UPD_CHRG_CD")+",");
		sql.append(""+getString("UPD_PGID")+"");
		sql.append(")");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public SelectResultRset SELECT_M2006(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT SLCP_CD,");
		sql.append("CHRG_TYP,");
		sql.append("VDR_CD,");
		sql.append("ITM_CAT_MID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("CHRG_CD,");
		sql.append("TRSP_MTHD,");
		sql.append("DVSN_CD,");
		sql.append("ROUT_CD,");
		sql.append("FM_TYP FROM M20 ");
		sql.append("WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+" ");
		sql.append("AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append("AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+" ");
		sql.append("AND FM_TYP <> "+getString("FM_TYP")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M2007(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT SLCP_CD,");
		sql.append("CHRG_TYP,");
		sql.append("VDR_CD,");
		sql.append("ITM_CAT_MID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("CHRG_CD,");
		sql.append("TRSP_MTHD,");
		sql.append("DVSN_CD,");
		sql.append("ROUT_CD,");
		sql.append("FM_TYP FROM M20 ");
		sql.append("WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+" ");
		sql.append("AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append("AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+" ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public int DELETE_M2008(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("DELETE M20 ");
		sql.append("WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+" ");
		sql.append("AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+" ");
		sql.append("AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP").equals(""))?" is null ":"=")+getString("FM_TYP")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public int INSERT_BM2009(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	INSERT INTO ");
		sql.append("BM20(");
		sql.append("SEQ_NO,");
		sql.append("SLCP_CD,            ");
		sql.append("CHRG_TYP,           ");
		sql.append("VDR_CD,             ");
		sql.append("ITM_CAT_MID,        ");
		sql.append("APL_BDT,            ");
		sql.append("APL_EDT,            ");
		sql.append("CHRG_CD,            ");
		sql.append("TRSP_MTHD,          ");
		sql.append("DVSN_CD,            ");
		sql.append("ROUT_CD,            ");
		sql.append("RGS_DTTM,           ");
		sql.append("RGS_CHRG_CD,        ");
		sql.append("RGS_PGID,           ");
		sql.append("UPD_DTTM,           ");
		sql.append("UPD_CHRG_CD,        ");
		sql.append("UPD_PGID,           ");
		sql.append("FM_TYP              ");
		sql.append(") ");
		sql.append("SELECT ");
		sql.append("SEQ_BM20.NEXTVAL,");
		sql.append("SLCP_CD,");
		sql.append("CHRG_TYP,");
		sql.append("VDR_CD,");
		sql.append("ITM_CAT_MID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("CHRG_CD,");
		sql.append("TRSP_MTHD,");
		sql.append("DVSN_CD,");
		sql.append("ROUT_CD,");
		sql.append("RGS_DTTM,");
		sql.append("RGS_CHRG_CD,");
		sql.append("RGS_PGID,");
		sql.append("UPD_DTTM,");
		sql.append("UPD_CHRG_CD,");
		sql.append("UPD_PGID,");
		sql.append("FM_TYP ");
		sql.append("FROM ");
		sql.append("M20 ");
		sql.append("WHERE ");
		sql.append("SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+" ");
		sql.append("AND  ");
		sql.append("CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append("AND  ");
		sql.append("VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		sql.append("AND ");
		sql.append("ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+"");
		sql.append("AND ");
		sql.append("FM_TYP "+((getString("FM_TYP").equals(""))?" is null ":"=")+getString("FM_TYP")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}


	public void setSLCP_CD(String value){
		if(value==null) {
			paramsString.remove("SLCP_CD");
			return;
		}
		paramsString.put("SLCP_CD",value);
	}


	public void setCHRG_TYP(String value){
		if(value==null) {
			paramsString.remove("CHRG_TYP");
			return;
		}
		paramsString.put("CHRG_TYP",value);
	}


	public void setVDR_CD(String value){
		if(value==null) {
			paramsString.remove("VDR_CD");
			return;
		}
		paramsString.put("VDR_CD",value);
	}


	public void setITM_CAT_MID(String value){
		if(value==null) {
			paramsString.remove("ITM_CAT_MID");
			return;
		}
		paramsString.put("ITM_CAT_MID",value);
	}


	public void setFM_TYP(String value){
		if(value==null) {
			paramsString.remove("FM_TYP");
			return;
		}
		paramsString.put("FM_TYP",value);
	}


	public void setFM_TYP1(String value){
		if(value==null) {
			paramsString.remove("FM_TYP1");
			return;
		}
		paramsString.put("FM_TYP1",value);
	}


	public void setFM_TYP2(String value){
		if(value==null) {
			paramsString.remove("FM_TYP2");
			return;
		}
		paramsString.put("FM_TYP2",value);
	}


	public void setAPL_BDT(String value){
		if(value==null) {
			paramsString.remove("APL_BDT");
			return;
		}
		paramsString.put("APL_BDT",value);
	}


	public void setCHRG_CD(String value){
		if(value==null) {
			paramsString.remove("CHRG_CD");
			return;
		}
		paramsString.put("CHRG_CD",value);
	}


	public void setAPL_EDT(String value){
		if(value==null) {
			paramsString.remove("APL_EDT");
			return;
		}
		paramsString.put("APL_EDT",value);
	}


	public void setTRSP_MTHD(String value){
		if(value==null) {
			paramsString.remove("TRSP_MTHD");
			return;
		}
		paramsString.put("TRSP_MTHD",value);
	}


	public void setDVSN_CD(String value){
		if(value==null) {
			paramsString.remove("DVSN_CD");
			return;
		}
		paramsString.put("DVSN_CD",value);
	}


	public void setROUT_CD(String value){
		if(value==null) {
			paramsString.remove("ROUT_CD");
			return;
		}
		paramsString.put("ROUT_CD",value);
	}


	public void setRGS_DTTM(String value){
		if(value==null) {
			paramsString.remove("RGS_DTTM");
			return;
		}
		paramsString.put("RGS_DTTM",value);
	}


	public void setRGS_CHRG_CD(String value){
		if(value==null) {
			paramsString.remove("RGS_CHRG_CD");
			return;
		}
		paramsString.put("RGS_CHRG_CD",value);
	}


	public void setRGS_PGID(String value){
		if(value==null) {
			paramsString.remove("RGS_PGID");
			return;
		}
		paramsString.put("RGS_PGID",value);
	}


	public void setUPD_DTTM(String value){
		if(value==null) {
			paramsString.remove("UPD_DTTM");
			return;
		}
		paramsString.put("UPD_DTTM",value);
	}


	public void setUPD_CHRG_CD(String value){
		if(value==null) {
			paramsString.remove("UPD_CHRG_CD");
			return;
		}
		paramsString.put("UPD_CHRG_CD",value);
	}


	public void setUPD_PGID(String value){
		if(value==null) {
			paramsString.remove("UPD_PGID");
			return;
		}
		paramsString.put("UPD_PGID",value);
	}


}
